﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using WCFAvante;

    [ServiceContract]
    public interface IService
    {
        //CRUD Cargo
        [OperationContract]
        int InsertarCargo(Cargo cargo);

        [OperationContract]
        int EliminarCargo(Cargo cargo);

        [OperationContract]
        int ModificarCargo(Cargo cargo);

        [OperationContract]
        Cargo ConsultarCargo(Cargo cargo);

        //CRUD Cliente
        [OperationContract]
        int InsertarCliente(Cliente cliente);

        [OperationContract]
        int EliminarCliente(Cliente cliente);

        [OperationContract]
        int ModificarCliente(Cliente cliente);

        [OperationContract]
        Cliente ConsultarCliente(Cliente cliente);

        //CRUD Contrato

        [OperationContract]
        int InsertarContrato(Contrato contrato);

        [OperationContract]
        int EliminarContrato(Contrato contrato);

        [OperationContract]
        int ModificarContrato(Contrato contrato);

        [OperationContract]
        Contrato ConsultarContrato(Contrato contrato);

        //CRUD ContratoCargo

        [OperationContract]
        int InsertarContratoCargo(ContratoCargo contratoCargo);

        [OperationContract]
        int EliminarContratoCargo(ContratoCargo contratoCargo);

        [OperationContract]
        int ModificarContratoCargo(ContratoCargo contratoCargo);

        [OperationContract]
        ContratoCargo ConsultarContratoCargo(ContratoCargo contratoCargo);

        //CRUD ContratoElegibleCargo

        [OperationContract]
        int InsertarContratoElegibleCargo(ContratoElegibleCargo contratoElegibleCargo);

        [OperationContract]
        int EliminarContratoElegibleCargo(ContratoElegibleCargo contratoElegibleCargo);

        [OperationContract]
        int ModificarContratoElegibleCargo(ContratoElegibleCargo contratoElegibleCargo);

        [OperationContract]
        ContratoElegibleCargo ConsultarContratoElegibleCargo(ContratoElegibleCargo contratoElegibleCargo);

        //CRUD Direccion

        [OperationContract]
        int InsertarDireccion(Direccion direccion);

        [OperationContract]
        int EliminarDireccion(Direccion direccion);

        [OperationContract]
        int ModificarDireccion(Direccion direccion);

        [OperationContract]
        Direccion ConsultarDireccion(Direccion direccion);

        //CRUD Elegible

        [OperationContract]
        int InsertarElegible(Elegible elegible);

        [OperationContract]
        int EliminarElegible(Elegible elegible);

        [OperationContract]
        int ModificarElegible(Elegible elegible);

        [OperationContract]
        Elegible ConsultarElegible(Elegible elegible);

        //CRUD ElegibleCargo

        [OperationContract]
        int InsertarElegibleCargo(ElegibleCargo elegibleCargo);

        [OperationContract]
        int EliminarElegibleCargo(ElegibleCargo elegibleCargo);

        [OperationContract]
        int ModificarElegibleCargo(ElegibleCargo elegibleCargo);

        [OperationContract]
        ElegibleCargo ConsultarElegibleCargo(ElegibleCargo elegibleCargo);

        //CRUD Localizacion

        [OperationContract]
        int InsertarLocalizacion(Localizacion localizacion);

        [OperationContract]
        int EliminarLocalizacion(Localizacion localizacion);

        [OperationContract]
        int ModificarLocalizacion(Localizacion localizacion);

        [OperationContract]
        Localizacion ConsultarLocalizacion(Localizacion localizacion);

        //CRUD PersonaContacto

        [OperationContract]
        int InsertarPersonaContacto(PersonaContacto personaContacto);

        [OperationContract]
        int EliminarPersonaContacto(PersonaContacto personaContacto);

        [OperationContract]
        int ModificarPersonaContacto(PersonaContacto personaContacto);

        [OperationContract]
        PersonaContacto ConsultarPersonaContacto(PersonaContacto personaContacto);

        //CRUD Propuesta

        [OperationContract]
        int InsertarPropuesta(Propuesta propuesta);

        [OperationContract]
        int EliminarPropuesta(Propuesta propuesta);

        [OperationContract]
        int ModificarPropuesta(Propuesta propuesta);

        [OperationContract]
        Propuesta ConsultarPropuesta(Propuesta propuesta);

        //CRUD Telefono

        [OperationContract]
        int InsertarTelefono(Telefono telefono);

        [OperationContract]
        int EliminarTelefono(Telefono telefono);

        [OperationContract]
        int ModificarTelefono(Telefono telefono);

        [OperationContract]
        Telefono ConsultarTelefono(Telefono telefono);

    }

